Method and Device for Coding a Controller of a Vehicle and for Checking a Controller of a Vehicle

ABSTRACT

A method codes a controller of a vehicle, wherein a set of vehicle parameters is coded into the controller as the coding parameters, and the set of vehicle parameters is additionally coded in another controller of the vehicle.

BACKGROUND AND SUMMARY OF THE INVENTION

The invention relates to a method for coding a controller of a vehicle. The invention also relates to a device for coding a controller of a vehicle. The invention also relates to a computer program for coding a controller of a vehicle. The invention also relates to a computer program product for coding a controller of a vehicle.

The invention also relates to a method for checking a controller of a vehicle. The invention also relates to a device for checking a controller of a vehicle. The invention also relates to a computer program for checking a controller of a vehicle. The invention also relates to a computer program product for checking a controller of a vehicle.

The ISO 26262 standard is an ISO standard for safety-relevant electrical/electronic systems in motor vehicles. A classification into safety levels ASIL A to ASIL D is used in this case.

The object on which the invention is based is that of easily securing a controller of a vehicle.

The object is achieved by the features of the independent patent claims. Advantageous refinements are identified in the dependent claims.

The invention is distinguished by a method for coding a controller of a vehicle, in which a set of vehicle parameters is coded into the controller as coding parameters, wherein the set of vehicle parameters is additionally coded in another controller of the vehicle. The invention is also distinguished by a device, wherein the device is designed to perform the method for coding a controller of a vehicle.

Controllers are coded in particular during the manufacture of a vehicle and/or during maintenance. In this procedure, coding parameters are written to a coding module, for example what is known as a BAC module, of the controller. Such coding parameters may then be read again, for example by way of a coding wrapper. Coding parameters typically comprise parameters that relate to the respective controller, such as a type number and the like.

Since vehicle parameters are then used as coding parameters, these also being coded in another controller, it is possible to perform a check across controllers/a check independent of controllers (for example as is described in a second aspect of the invention). It is thereby very easily possible to secure the controller, in particular in order to meet at least safety level ASIL B of the ISO 26262 standard, in particular of the ISO 26262:2012 or 26262:2011 standard.

The vehicle parameters comprise for example a vehicle height, a vehicle width, a length of the hood, a country code and/or a steering wheel side.

The other controller is for example a controller that is connected to a multiplicity of controllers via a vehicle bus, in particular to all of the controllers or at least all of the safety-relevant controllers of the vehicle.

According to one optional refinement, in addition to one or more vehicle parameters and/or to a subset of vehicle parameters of the set of vehicle parameters, a corresponding checksum of a cyclic redundancy check is coded into the controller as a coding parameter.

The checksum of a cyclic redundancy check may also be referred to as a CRC checksum. A checksum may in particular correspond to individual vehicle parameters and/or to a multiplicity of vehicle parameters, that is to say a block consisting of a plurality of vehicle parameters.

Since coding a controller may already take a very long time depending on the vehicle age, relatively small errors, for example on the bit level, may arise in the coding module of the controller over time. The checksum makes it possible to easily check the respective vehicle parameter for such errors.

According to a further optional refinement, a set of function-specific parameters is additionally coded into the controller as coding parameters, wherein the set is a subset of function-specific parameters that are coded in the other controller of the vehicle.

Such function-specific parameters comprise for example one or more different warning times and/or trigger times for various controller-specific functions.

By virtue of providing sets, appropriate coding parameters are able to be stored very easily for each controller.

According to a further optional refinement, a checksum, corresponding to the set, of a cyclic redundancy check and/or an identification number corresponding to the set and/or a checksum, corresponding to the identification number, of a cyclic redundancy check is additionally coded into the controller.

The checksum corresponding to the set may easily be used for example to check a bit error, as described above. The identification number corresponding to the set may very easily be used to check whether the correct set of function-specific parameters is coded in the controller. The checksum corresponding to the identification number may easily be used for example to check a bit error, as described above.

According to the second aspect, the invention is distinguished by a method for checking a controller of a vehicle. The invention is also distinguished by a device that is designed to perform the method for checking a controller of a vehicle.

In the method, a first set of vehicle parameters that have been coded into the controller as coding parameters is read from the controller. A second set of vehicle parameters that is coded in another controller of the vehicle is provided. The first set of vehicle parameters is compared with the second set of vehicle parameters.

A safety check is thereby easily able to be performed. By way of example, this takes place when the vehicle is started by virtue of the other controller sending a message designed for this purpose and containing the second set of vehicle parameters to the respective controller. An easy check by way of the other controller is thereby able to take place regardless of the type of controller to be checked.

Reading from the controller in this connection in particular means that the controller itself reads respective data from a dedicated memory of the controller. The method thus does not require any third unit, but rather only the controller and the other controller, which are coupled for example via a vehicle bus.

If the check reveals for example that there are differences in the respective vehicle parameters, a suitable measure may then be taken depending on the safety relevance of the controller, such as not starting the vehicle, displaying that it is necessary to visit a garage, deactivating a function of the controller and/or activating an emergency operating mode.

If the check reveals that there is no difference in the respective vehicle parameters, then the controller may for example start its normal operating mode.

According to one optional refinement, in addition to one or more vehicle parameters and/or to a subset of vehicle parameters of the read set of vehicle parameters, a corresponding checksum of a cyclic redundancy check that has been coded into the controller as a coding parameter is read from the controller and checked.

A bit error is thereby for example easily able to be checked, as described above.

According to one optional refinement, a plausibility test is additionally performed on one or more vehicle parameters of the read set of vehicle parameters.

The plausibility test comprises for example a limit value comparison, for example with a respective upper and/or lower limit value, since vehicle parameters, such as the length of the hood, are only plausible within a certain range.

This provides a further possibility for checking individual vehicle parameters.

According to a further optional refinement, a set of function-specific parameters that have been coded into the controller as coding parameters and/or a checksum, corresponding to the set, of a cyclic redundancy check and/or an identification number corresponding to the set and/or a checksum, corresponding to the identification number, of a cyclic redundancy check is additionally read and checked.

By virtue of providing sets, appropriate coding parameters are able to be checked very easily for each controller. The checksum corresponding to the set may easily be used for example to check a bit error, as described above. The identification number corresponding to the set may very easily be used to check whether the correct set of function-specific parameters is coded in the controller. The checksum corresponding to the identification number may easily be used for example to check a bit error, as described above.

According to a further aspect, the invention is distinguished by a computer program, wherein the computer program is designed to perform the method for coding a controller of a vehicle or the method for checking a controller of a vehicle.

According to a further aspect, the invention is distinguished by a computer program product that comprises an executable program code, wherein the program code executes the method for coding a controller of a vehicle or the method for checking a controller of a vehicle when it is executed by a data processing device.

The computer program product comprises in particular a non-transitory medium able to be read by the data processing device and on which the program code is stored.

Exemplary embodiments of the invention are explained in more detail below with reference to the schematic drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flowchart of a program for coding a controller of a vehicle.

FIG. 2 is a flowchart of a program for checking a controller of a vehicle.

DETAILED DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a flowchart of a program for coding a controller of a vehicle.

The program may be run for example by a device. To this end, the device has in particular a computing unit, a program and data memory, and for example one or more communication interfaces. The program and data memory and/or the computing unit and/or the communication interfaces may be formed in one module and/or distributed over a plurality of modules.

The device may also be referred to as device for coding a controller of a vehicle.

To this end, the program is in particular stored on the program and data memory of the device.

The program is started in a step S1 in which variables may possibly be initialized.

In a step S3, a set of vehicle parameters is coded into the controller as coding parameters, wherein the set of vehicle parameters is additionally coded in another controller of the vehicle.

In addition to one or more vehicle parameters and/or to a subset of vehicle parameters of the set of vehicle parameters, a corresponding checksum of a cyclic redundancy check is optionally coded into the controller as a coding parameter.

A set of function-specific parameters is optionally additionally coded into the controller as coding parameters, wherein the set is a subset of function-specific parameters that are coded in the other controller of the vehicle.

A checksum, corresponding to the set, of a cyclic redundancy check and/or an identification number corresponding to the set and/or a checksum, corresponding to the identification number, of a cyclic redundancy check, is optionally additionally coded into the controller.

In a step S5, the program is ended and may possibly be restarted in step S1.

FIG. 2 shows a flowchart of a program for checking a controller of a vehicle.

The program may be run for example by a device. To this end, the device has in particular a computing unit, a program and data memory, and for example one or more communication interfaces. The program and data memory and/or the computing unit and/or the communication interfaces may be formed in one module and/or distributed over a plurality of modules.

The device may also be referred to as device for checking a controller of a vehicle. The device may be implemented for example in the controller to be checked.

To this end, the program is in particular stored on the program and data memory of the device.

The program is started in a step S11 in which variables may possibly be initialized. The program is started for example when the vehicle is started by virtue of another controller sending a message designed for this purpose to the controller to be checked.

In a step S13, a first set of vehicle parameters, which have been coded into the controller as coding parameters, is read from the controller.

In an optional step S15, in addition to one or more vehicle parameters and/or to a subset of vehicle parameters of the read set of vehicle parameters, a corresponding checksum of a cyclic redundancy check that has been coded into the controller as coding parameter is read from the controller.

In an optional step S17, the checksums corresponding to one or more vehicle parameters and/or to a subset of vehicle parameters of the read set of vehicle parameters are checked.

If an error has been detected in the check, the program is continued in a step S31.

If no error has been detected in the check, the program is continued in an optional step S21.

In step S21, a plausibility test is performed on one or more vehicle parameters of the read set of vehicle parameters.

If an error has been detected in the plausibility test, the program is continued in step S31.

If no error has been detected in the plausibility test, the program is continued in an optional step S23.

In step S23, a set of function-specific parameters, which have been coded into the controller as coding parameters, a checksum, corresponding to the set, of a cyclic redundancy check and an identification number corresponding to the set are read.

In an optional step S25, the checksum corresponding to the set is checked.

If an error has been detected in the check, the program is continued in step S31.

If no error has been detected in the check, the program is continued in an optional step S27.

In optional step S27, the identification number corresponding to the set is checked.

If an error has been detected in the check, the program is continued in step S31.

If no error has been detected in the check, the program is continued in an optional step S29.

In step S29, the first set of vehicle parameters is compared with a second set of vehicle parameters that has been provided and that is coded in another controller of the vehicle. By way of example, a vehicle type, a country code and a steering wheel side are compared.

If an error has been detected in the comparison, the program is continued in step S31.

If no error has been detected in the check, the program is continued in an optional step S30.

In step S30, all of the checks have been performed successfully. The controller is thus able for example to send a confirmation message and start its normal operating mode. The program is then ended in a step S33.

If an error has been established in step S31, then a suitable measure may be taken depending on the safety relevance of the controller/error, such as not starting the vehicle, displaying that it is necessary to visit a garage, deactivating a function of the controller and/or activating an emergency operating mode. The program is then ended in step S33. 

1-11. (canceled)
 12. A method for coding a controller of a vehicle, comprising: coding a set of vehicle parameters into the controller of the vehicle as coding parameters; and additionally coding the set of vehicle parameters in another controller of the vehicle.
 13. The method according to claim 12, wherein in addition to one or more vehicle parameters and/or to a subset of vehicle parameters of the set of vehicle parameters, a corresponding checksum of a cyclic redundancy check is coded into the controller as a coding parameter.
 14. The method according to claim 13, wherein a set of function-specific parameters is additionally coded into the controller as coding parameters, and the set of function-specific parameters is a subset of function-specific parameters that are coded in the other controller of the vehicle.
 15. The method according to claim 14, wherein a checksum, corresponding to the set, of a cyclic redundancy check, and/or an identification number corresponding to the set and/or a checksum, corresponding to the identification number, of a cyclic redundancy check, is additionally coded into the controller.
 16. A method for checking a controller of a vehicle, comprising: reading, from the controller, a first set of vehicle parameters that have been coded into the controller as coding parameters; providing a second set of vehicle parameters that is coded in another controller of the vehicle; and comparing the first set of vehicle parameters with the second set of vehicle parameters to check the controller.
 17. The method according to claim 16, wherein in addition to one or more vehicle parameters and/or to a subset of vehicle parameters of the read set of vehicle parameters, a corresponding checksum of a cyclic redundancy check that has been coded into the controller as a coding parameter is read from the controller and checked.
 18. The method according to claim 17, wherein a plausibility test is additionally performed on one or more vehicle parameters of the read first set of vehicle parameters.
 19. The method according to claim 17, wherein a set of function-specific parameters that have been coded into the controller as coding parameters, and/or a checksum, corresponding to the set, of a cyclic redundancy check and/or an identification number corresponding to the set and/or a checksum, corresponding to the identification number, of a cyclic redundancy check, is additionally read and checked.
 20. A device for coding or for checking a controller of a vehicle, wherein (i) for coding the controller, the device is configured to carry out the acts of: coding a set of vehicle parameters into the controller of the vehicle as coding parameters; and additionally coding the set of vehicle parameters in another controller of the vehicle; or (ii) for checking the controller, the device is configured to carry out the acts of: reading from the controller, a first set of vehicle parameters that have been coded into the controller as coding parameters; providing a second set of vehicle parameters that is coded in another controller of the vehicle; and comparing the first set of vehicle parameters with the second set of vehicle parameters to check the controller.
 21. A computer product comprising a non-transitory computer readable medium having stored thereon executable program code, wherein (i) for coding a controller, the program code when executed on a computing unit, carries out the acts of: coding a set of vehicle parameters into the controller of the vehicle as coding parameters; and additionally coding the set of vehicle parameters in another controller of the vehicle; or (ii) for checking the controller, the program code when executed on a computing unit, carries out the acts of: reading from the controller, a first set of vehicle parameters that have been coded into the controller as coding parameters; providing a second set of vehicle parameters that is coded in another controller of the vehicle; and comparing the first set of vehicle parameters with the second set of vehicle parameters to check the controller. 